El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes
En el ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala
Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes
Proceso Iterativo e Incremental
Las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración
(Gp:) Análisis
(Gp:) Diseño
(Gp:) Codific.
(Gp:) Pruebas e
Integración
n veces
Proceso Iterativo e Incremental
Cada iteración comprende:
Planificar la iteración (estudio de riesgos)
Análisis de los Casos de Uso y escenarios
Diseño de opciones arquitectónicas
Codificación y pruebas. La integración del nuevo código con el existente de iteraciones anteriores se hace gradualmente durante la construcción
Evaluación de la entrega ejecutable (evaluación del prototipo en función de las pruebas y de los criterios definidos)
Preparación de la entrega (documentación e instalación del prototipo)
Proceso Iterativo e Incremental
Proceso Iterativo e Incremental
Enfoque
Cascada
Enfoque
Iterativo e
Incremental
Grado de Finalización de Artefactos
Proceso Iterativo e Incremental
Proceso Centrado en la Arquitectura
Arquitectura de un sistema es la organización o estructura de sus partes más relevantes
Un arquitectura ejecutable es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades
RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo
(Gp:) Architecture
Inception
Elaboration
Construction
Transition
Fases del Ciclo de Vida
El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce una nueva versión del producto
Cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones
Las fases son:
Inicio o Estudio de oportunidad
Elaboración
Construcción
Transición
Fases del Ciclo de Vida
Inicio o Estudio de oportunidad (inception)
Define el ámbito y objetivos del proyecto
Se define la funcionalidad y capacidades del producto
Elaboración
Tanto la funcionalidad como el dominio del problema se estudian en profundidad
Se define una arquitectura básica
Se planifica el proyecto considerando recursos disponibles
Fases del Ciclo de Vida
Construcción
El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación
Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura)
Gran parte del trabajo es programación y pruebas
Se documenta tanto el sistema construido como el manejo del mismo
Esta fase proporciona un producto construido junto con la documentación
Fases del Ciclo de Vida
Transición
Se libera el producto y se entrega al usuario para un uso real
Se incluyen tareas de marketing, empaquetado atractivo, instalación, configuración, entrenamiento, soporte, mantenimiento, etc.
Los manuales de usuario se completan y refinan con la información anterior
Estas tareas se realizan también en iteraciones
Esfuerzo respecto de las Workflows
15%
10%
15%
30%
15%
10% gestión cambios
5% mantenimiento
(Gp:) P
(Gp:) r
(Gp:) e
(Gp:) l
(Gp:) i
(Gp:) m
(Gp:) i
(Gp:) n
(Gp:) a
(Gp:) r
(Gp:) y
(Gp:) I
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) a
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) (
(Gp:) s
(Gp:) )
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) 1
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) 2
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) n
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) n
(Gp:) +
(Gp:) 1
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) n
(Gp:) +
(Gp:) 2
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) m
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) m
(Gp:) +
(Gp:) 1
(Gp:) I
(Gp:) n
(Gp:) c
(Gp:) e
(Gp:) p
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) E
(Gp:) l
(Gp:) a
(Gp:) b
(Gp:) o
(Gp:) r
(Gp:) a
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) C
(Gp:) o
(Gp:) n
(Gp:) s
(Gp:) t
(Gp:) r
(Gp:) u
(Gp:) c
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) T
(Gp:) r
(Gp:) a
(Gp:) n
(Gp:) s
(Gp:) i
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
Una iteración en la
fase de elaboración
Requisitos
Diseño
Implementación
Pruebas
Análisis
Esfuerzo respecto de las Fases
(Gp:) P
(Gp:) r
(Gp:) e
(Gp:) l
(Gp:) i
(Gp:) m
(Gp:) i
(Gp:) n
(Gp:) a
(Gp:) r
(Gp:) y
(Gp:) I
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) a
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) (
(Gp:) s
(Gp:) )
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) 1
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) 2
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) n
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) n
(Gp:) +
(Gp:) 1
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) n
(Gp:) +
(Gp:) 2
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) m
(Gp:) i
(Gp:) t
(Gp:) e
(Gp:) r
(Gp:) .
(Gp:) #
(Gp:) m
(Gp:) +
(Gp:) 1
(Gp:) I
(Gp:) n
(Gp:) c
(Gp:) e
(Gp:) p
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) E
(Gp:) l
(Gp:) a
(Gp:) b
(Gp:) o
(Gp:) r
(Gp:) a
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) C
(Gp:) o
(Gp:) n
(Gp:) s
(Gp:) t
(Gp:) r
(Gp:) u
(Gp:) c
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
(Gp:) T
(Gp:) r
(Gp:) a
(Gp:) n
(Gp:) s
(Gp:) i
(Gp:) t
(Gp:) i
(Gp:) o
(Gp:) n
Esfuerzo: 5% 20% 65% 10%
Duración: 10% 30% 50% 10%
Una iteración en la
fase de elaboración
Requisitos
Diseño
Implementación
Pruebas
Análisis
Modelado de SI: Algunas Reflexiones
Modelar para la concebir el sistema y/o para la documentarlo
Pragmatismo, los modelos deben ser útiles
Sencillez y Elegancia
Distintos nivel de abstracción, diferentes modelos
Seguimiento de transformaciones durante el proceso (Traceability)
Sincronización de modelos
Dificultades para la introducción de técnicas y herramientas de modelado
Finalmente
Apostar por enfoque Orientado a Objetos usando notación UML
Problemas actuales en implementación, al usar entornos de programación visual y/o bases de datos relacionales
Posibles mejoras a mediano plazo
Evolución: Uso de BDOO y/o mejoras en los LPOO
Revolución: Generación Automática de Código a partir de Modelos OO (Compilación de Modelos)
Página anterior | Volver al principio del trabajo | Página siguiente |